require('./index.css')
const _user_service = require('../../service/user_service.js');
const _common_util = require('../../util/util_1.js');


const login = {
    init: function () {
        this.bindEvent();
        this.checkMessage();
        return this;
    },
    bindEvent: function () {
        const _this = this;
        // 获取表单、复选框和错误提示元素
        const loginForm = document.getElementById("loginForm");
        const agreementCheckbox = document.getElementById("agreement");
        const submitButton = document.getElementById("submitButton");

        // 监听表单提交事件
        loginForm.addEventListener("submit", function (event) {
            event.preventDefault(); // 阻止表单默认提交行为

            if (!agreementCheckbox.checked) {
                alert("请阅读并同意协议！");
                agreementCheckbox.focus();
                return;
            }

            // 获取表单数据
            const formData = {
                username: loginForm.username.value,
                password: loginForm.password.value
            };

            // 调用user_service中的login方法
            _user_service.login(formData, function(data) {
                // 登录成功
                // alert(res.message);
                // 存储用户信息到localStorage
                localStorage.setItem('userInfo', JSON.stringify(data));
                
                // 根据用户角色进行不同跳转
                const role = data.responsibility;
                let redirectUrl = '';
                
                switch(role) {
                    case 'user':
                        redirectUrl = '/view/user_main.html';
                        break;
                    case 'merchant':
                        redirectUrl = '/view/ProductManager.html';
                        break;
                    case 'admin':
                        // 如果是管理员，先获取所有用户信息
                        // 注意这里的参数时传过来的data和message
                        _user_service.getAllUsers(function(data, message) {
                            localStorage.setItem('allUsers', JSON.stringify(data));
                            // 跳转到用户管理页面
                            window.location.href = '/view/UserManager.html';
                        }, function(errMsg) {
                            alert('获取用户列表失败：' + errMsg);
                        });
                        return; // 直接返回，不执行下面的跳转
                    default:
                        redirectUrl = '/view/user_main.html';
                }
                
                // 跳转到对应页面
                window.location.href = redirectUrl;
                
            }, function(errMsg) {
                // 登录失败
                alert(errMsg || '登录失败，请重试');
            });
        });
    },
    checkMessage: function () {
        // 获取URL参数
        const urlParams = new URLSearchParams(window.location.search);
        const message = urlParams.get('message');

        // 如果有注册成功的消息，显示提示
        if (message === "注册成功，请登录！") {
            alert(message);
        }
    }
};

$(function () {
    login.init();
});